Investigating Intentional Clone Refactoring
نویسندگان
چکیده
Software clone refactoring has been studied from many perspectives, including empirical research on clone refactoring history, IDE support for tracking clone change, and recommendation systems for clone management. Most of the work relies on having access to and being able to analyze the history of clone refactoring. However, refactoring cloned code is not equivalent to clone management, as code refactoring can be motivated by goals unrelated to cloning. In this position paper, we introduce a dataset of intentional clone refactoring, which is produced by keywords matching in commit messages within the version control system of Linux kernel. By investigating two important clone evolution scenarios — clone removal and inconsistent changes — in subsystems of Linux kernel, we find that intentional clone refactoring accounts for only a small proportion of all detected clone evolution.
منابع مشابه
Sub-clones: Considering the Part Rather than the Whole
Researchers have proposed various automated clone detection tools that can assist programmers in finding code clones (i.e., duplicated sections of code). Such tools can serve as input into the process of clone removal through refactoring activities. In this paper, we consider the scenario in which an automated clone detection tool was used to find code clones as part of the clone refactoring pr...
متن کاملImplication of Clone Detection and Refactoring Techniques using Delayed Duplicate Detection Refactoring
Code maintenance has been increased when the similar code fragments is reduced in the software systems. Refactoring is a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior based on code, the refactoring mechanism is used to discover the clone detection. The proposed algorithm insists semantic relevance...
متن کاملMethod-Level Code Clone Modification using Refactoring Techniques for Clone Maintenance
Researchers focused on activities such as clone maintenance to assist the programmers. Refactoring is a well-known process to improve the maintainability of the software. Program refactoring is a technique to improve readability, structure, performance, abstraction, maintainability, or other characteristics by transforming a program. This paper contributes to a more unified approach for the pha...
متن کاملAn Investigation into the Characteristics of Merged Code Clones during Software Evolution
Although code clones (i.e. code fragments that have similar or identical code fragments in the source code) are regarded as a factor that increases the complexity of software maintenance, tools for supporting clone refactoring (i.e. merging a set of code clones into a single method or function) are not commonly used. To promote the development of refactoring tools that can be more widely utiliz...
متن کاملConflict-aware optimal scheduling of prioritised code clone refactoring
Duplicated or similar source code, also known as code clones, are possible malicious ‘code smells’ that may need to be removed through refactoring to enhance maintainability. Among many potential refactoring opportunities, the choice and order of a set of refactoring activities may have distinguishable effect on the design/code quality measured in terms of software metrics. Moreover, there may ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- ECEASST
دوره 63 شماره
صفحات -
تاریخ انتشار 2014